The technology of digital image halftone comprises amplitude-modulation screening and frequency-modulation screening. Error Diffusion method is widely used in the common frequency-modulation screening method. In Error Diffusion method, while halftone dots are produced by comparing the gray level of each dot of the original image with a threshold, the difference between the gray level of each dot and the threshold is diffused to adjacent dots. For example, in an image with 256 gray levels, the threshold is set as 127. After comparing, a dot whose gray level is 150 will be a white dot. However, this dot should not be purely white because there is a difference between the gray levels of the dot and a white dot. The error value 23 is diffused to adjacent dots around the dot by a certain means.
Floyd-Steinberg Algorithm is a most well-known and common algorithm for Error Diffusion method. Using the algorithm, after the gray level of the current dot is compared with a threshold, the gray level of the dot is set as 1 or 0 (i.e. the dot is set as a black or white dot). Then, the error is obtained by calculating the difference between the gray level and the threshold. Finally, the error is distributed to adjacent dots to adjust the gray levels of the adjacent dots. Specially, by Floyd-Steinberg Algorithm, 7/16 of the error value is added to a dot adjacent to and on the right side of the current dot, 5/16 of the error value is added to a dot in the next row, which corresponds to the current dot, 3/16 of the error value is added to a dot, which is adjacent to and on the left side of the dot corresponding to the current dot in the next row, and 1/16 of the error value is added to a dot, which is adjacent to and on the right side of the dot corresponding to the current dot in the next row. Following this way, the error of the current dot is distributed to the adjacent dots. This process is implemented to every dot in the image for halftoning and revising the gray levels.
Some improved algorithms such as Stucki Algorithm have arisen on the basis of Floyd-Steinberg Algorithm. Using Stucki Algorithm, the error generated by the current dot is distributed to twelve adjacent dots of the current dot. The output image has a better effect because more dots are related to during the distribution. Furthermore, during distributing the errors, if dots in each row are processed from left to right the errors from each row are simply added to those in its next row so that the errors are heaped. This will cause the output image to have a tendency in the sense of sight. To obtain a good effect, an S-shaped scan is used during scanning. Specifically, for the whole image, the odd rows are scanned from left to right and the even rows are scanned from right to left.
Generally, Error Diffusion method can result in a good effect. However, its shortcoming is obvious. The method will induce large numbers of calculations and operations in a memory so that the dots are produced in low speed. For example, using Stucki Algorithm with an S-shaped scan, a memory commonly called an error row memory is generally used to store the results in the current row and next two rows after error diffusion. Each position in error rows denotes an accumulated error value of the corresponding position. Thus, the original accumulated error values corresponding to the current pixel and the twelve adjacent positions in the error rows are needed to be read out for processing every pixel. After the calculated error value of the current pixel is obtained, the value is distributed to the twelve adjacent positions. Each distributed value is added to the original accumulated error value on the corresponding position and the results are respectively written in the twelve positions in the error rows. It can be seen that the prior method requires many operations in the memory. The read-write speed of a memory is the bottleneck of a computer system. Therefore, the scope of applying the screening method based on Error Diffusion is limited because of its processing speed while it can improve the output effect. Although special hardware is commonly used to improve the speed for producing dots in the method based on Error Diffusion, because of the a plurality of operations in the memory, the speed is impacted and hard to satisfy requirements of high-speed printers and duplicating machines having real-time feature so that the screening method based on Error Diffusion is hard to apply to modern high-speed printers and duplicating machines.